<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>
<script>
    // 1、find()
    // 遍历数组，每次循环时执行传入的回调函数, 并将回调函, 返回对满足条件的第一个元素，没有就返回undefin

    // 2、findIndex()
    // 遍历数组，每次循环时执行传入的回调函数, 并将回调函, 返回对满足条件的第一个元素的下标，没有就返回 - 1

    // 3、fill()
    // 使用给定值，填充一个数组，返回被修改的原数组

    // 4、Array.from() 方法用于将两类对象转为真正的数组

    // 5、includes() 可用于判断数组中是否含有NaN
    // 返回一个布尔值，表示某个数组是否包含给定的值，与字符串的includes方法类似

    // 6、flat()用于将嵌套的数组“拉平”，变成一维的数组。该方法返回一个新数组，对原数据没有影响。
    // 可以将flat()方法的参数写成一个整数，表示想要拉平的层数，默认为1。
    // 如果不管有多少层嵌套，都要转成一维数组，可以用Infinity关键字作为参数。

    // 7、flatMap()方法对原数组的每个成员执行一个函数
    // 先使用map()，再使用flat()。

    // var arr = [ 3, 5, 6, 7, 8, 9, 4];
    // var re = arr.find(function (item, index) {
    //     return item % 2 == 0;
    // })
    // console.log(re);
    // var re = arr.findIndex(function (item, index) {
    //     return item % 4 == 0;
    // })
    // console.log(re);

    var brr = [1,2,[3,4,[5,6,[7,8]]]];
    var re = brr.flat(Infinity);
    console.log(re);
</script>

</html>